package com.tiancheng.trade.order.model;


import com.baomidou.mybatisplus.annotation.TableName;
import com.tiancheng.trade.order.model.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 英文版主订单表实体
 */
@Data
@TableName(value = "int_orders")
public class IntOrder extends BaseEntity implements java.io.Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主订单号
     */
    private String orderId;
    /**
     * 原始订单号
     */
    private String originalOrderId;
    /**
     * 支付订单号
     */
    private String paymentId;
    /**
     * 支付流水号
     */
    private String flowId;
    /**
     * 批次号
     */
    private String batchId;
    /**
     * 用户id
     */
    private String uid;
    /**
     * 电话
     */
    private String mobile;
    /**
     * 支付渠道用户标识
     */
    private String openid;
    /**
     * 业务渠道来源
     */
    private String orderSource;
    /**
     * 订单类型
     */
    private String orderType;
    /**
     * 订单名称
     */
    private String orderName;
    /**
     * 订单状态
     */
    private String orderStatus;
    /**
     * 订单应收金额
     */
    private Integer orderAmount;
    /**
     * 下单场景
     */
    private String orderScene;
    /**
     * 支付状态
     */
    private String payStatus;
    /**
     * 订单支付总金额
     */
    private Integer payAmount;
    /**
     * 支付过期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payExpiryTime;
    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payTime;
    /**
     * 支付场景
     */
    private String payScene;
    /**
     * 支付渠道类型
     */
    private String payChannel;
    /**
     * 支付方式（微信、支付宝、银联）
     */
    private String payWay;
    /**
     * 交易信息
     */
    private String tradeInfo;
    /**
     * 订单标记
     */
    private String settlementTags;
    /**
     * 是否有优惠
     */
    private Boolean isCoupon;
    /**
     * 优惠金额
     */
    private Integer discount;
    /**
     * 备注
     */
    private String remark;
    /**
     * 描述
     */
    private String description;
    /**
     * 是否测试订单
     */
    private Boolean isTest;
    /**
     * 子订单个数
     */
    private Integer subOrderCnt;
    /**
     * 退款次数
     */
    private Integer refundTimes;
    /**
     * appid
     */
    private String appId;
    /**
     * 请求ip
     */
    private String ip;
    /**
     * 主商户编号
     */
    private String merchantCode;
    /**
     * 主商户名称
     */
    private String merchantName;
    /**
     * 推广码
     */
    private String generalizeCode;
    /**
     * 微信优惠信息
     */
    private String goodsTag;

    /**
     * 系统来源
     * @see com.cloud.trade.order.enums.SystemSourceEnum
     */

    private String systemSource;
    /**
     * 业务类型
     * @see com.cloud.trade.order.enums.BusinessTypeEnum
     */
    private String businessType;
    /**
     * 支付订单人uid，平台体系内有一个人有多个账号的情况
     */
    private String buyerUid;
    /**
     * 币种
     */
    private String currency;
}